package com.tencent.sr.iris.basic.saas.interfaces.request.activity;

import com.tencent.sr.iris.basic.saas.interfaces.request.export.CurrentUserInfoRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

@Data
@ApiModel("活动详情分页查询请求")
public class ActivityTaskPageRequest extends CurrentUserInfoRequest {

    @NotNull(message = "活动类型不能为空")
    @ApiModelProperty("活动类型 MONTH_GIFT：月月领 REGIST_GIFT：注册有礼 INVITE_GIFT：邀请有礼 " +
            "LEVEL_UP_FOSTER_GIFT：升级有礼(培育奖) LEVEL_UP_PROMO_GIFT：升级有礼(晋升奖) TUTORING_ALLOWANCE：辅导津贴")
    private String activityType;

    @NotNull(message = "活动id不能为空")
    @ApiModelProperty("活动类型对应的活动id，一个活动类型可对应多个活动id：\n" +
            "  月月领活动id：MONTH_GIFT；\n" +
            "  邀请有礼活动id：INVITE_GIFT：普通邀请有礼，SPECIAL_INVITE_REWARD ：特邀邀请有礼；\n" +
            "  注册有礼活动id：REGIST_GIFT\n" +
            "  升级有礼(培育奖)活动id：LEVEL_UP_FOSTER_GIFT\n" +
            "  升级有礼(晋升奖)活动id：LEVEL_UP_PROMO_GIFT\n" +
            " 辅导津贴活动id: TUTORING_ALLOWANCE")
    private String activityId;


    @ApiModelProperty("晋升类型 MEMBER：见习升初级 SENIOR：初级升高级 SUPER：高级升超级")
    private List<String> taskIdList;

    @ApiModelProperty("开始时间")
    private Long startTime;

    @ApiModelProperty("结束时间")
    private Long endTime;

    @ApiModelProperty("上级uid")
    private String pid;

    @ApiModelProperty("下级uid")
    private String uid;

    @ApiModelProperty("搜索开始值")
    private String searchAfter;

    @ApiModelProperty("uid是否特邀用户 0:否 1:是")
    private Integer uidSpecialInvite;

    @ApiModelProperty("pid是否特邀用户 0:否 1:是")
    private Integer pidSpecialInvite;

    @ApiModelProperty("导师uid")
    private String advisorUid;

    @ApiModelProperty("上级所属区域")
    private List<Long> superiorAreaIds;

    @ApiModelProperty("下级所属区域")
    private List<Long> areaIds;

    @ApiModelProperty("已完成阶数")
    private Integer finishTier;

    @ApiModelProperty(" NO-未贡献 YES-已贡献 LIMITED-已超限")
    private List<String> isParticipatedList;

    @ApiModelProperty("是否审核中")
    private Boolean auditing;
}
